package simple

// 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢？
/*
执行用时分布
0ms
击败100.00%
*/
func climbStairs(n int) int {
	if n <= 2 {
		return n
	}
	m := make([]int, n+1)
	m[1] = 1
	m[2] = 2
	for i := 3; i <= n; i++ {
		m[i] = m[i-1] + m[i-2]
	}
	return m[n]
}
func climbStairs1(n int) int {
	if n <= 2 {
		return n
	}
	return climbStairs1(n-1) + climbStairs1(n-2)
}
